home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / PInterfaces / Palettes.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  7.5 KB  |  221 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Palettes.p
  3.  
  4.      Contains:    Palette Manager Interfaces.
  5.  
  6.      Version:    Technology:    Mac OS 8
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1987-1993, 1995-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT Palettes;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __PALETTES__}
  27. {$SETC __PALETTES__ := 1}
  28.  
  29. {$I+}
  30. {$SETC PalettesIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __QUICKDRAW__}
  34. {$I Quickdraw.p}
  35. {$ENDC}
  36.  
  37.  
  38. {$PUSH}
  39. {$ALIGN MAC68K}
  40. {$LibExport+}
  41.  
  42.  
  43. CONST
  44.     pmCourteous                    = 0;                            { Record use of color on each device touched. }
  45.     pmDithered                    = $0001;
  46.     pmTolerant                    = $0002;                        { render ciRGB if ciTolerance is exceeded by best match. }
  47.     pmAnimated                    = $0004;                        { reserve an index on each device touched and render ciRGB. }
  48.     pmExplicit                    = $0008;                        { no reserve, no render, no record; stuff index into port. }
  49.     pmWhite                        = $0010;
  50.     pmBlack                        = $0020;
  51.     pmInhibitG2                    = $0100;
  52.     pmInhibitC2                    = $0200;
  53.     pmInhibitG4                    = $0400;
  54.     pmInhibitC4                    = $0800;
  55.     pmInhibitG8                    = $1000;
  56.     pmInhibitC8                    = $2000;                        {  NSetPalette Update Constants  }
  57.     pmNoUpdates                    = $8000;                        { no updates }
  58.     pmBkUpdates                    = $A000;                        { background updates only }
  59.     pmFgUpdates                    = $C000;                        { foreground updates only }
  60.     pmAllUpdates                = $E000;                        { all updates }
  61.  
  62.  
  63. TYPE
  64.     ColorInfoPtr = ^ColorInfo;
  65.     ColorInfo = RECORD
  66.         ciRGB:                    RGBColor;                                { true RGB values }
  67.         ciUsage:                INTEGER;                                { color usage }
  68.         ciTolerance:            INTEGER;                                { tolerance value }
  69.         ciDataFields:            ARRAY [0..2] OF INTEGER;                { private fields }
  70.     END;
  71.  
  72.     ColorInfoHandle                        = ^ColorInfoPtr;
  73.     PalettePtr = ^Palette;
  74.     Palette = RECORD
  75.         pmEntries:                INTEGER;                                { entries in pmTable }
  76.         pmDataFields:            ARRAY [0..6] OF INTEGER;                { private fields }
  77.         pmInfo:                    ARRAY [0..0] OF ColorInfo;
  78.     END;
  79.  
  80.     PaletteHandle                        = ^PalettePtr;
  81. PROCEDURE InitPalettes;
  82.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  83.     INLINE $AA90;
  84.     {$ENDC}
  85. FUNCTION NewPalette(entries: INTEGER; srcColors: CTabHandle; srcUsage: INTEGER; srcTolerance: INTEGER): PaletteHandle;
  86.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  87.     INLINE $AA91;
  88.     {$ENDC}
  89. FUNCTION GetNewPalette(PaletteID: INTEGER): PaletteHandle;
  90.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  91.     INLINE $AA92;
  92.     {$ENDC}
  93. PROCEDURE DisposePalette(srcPalette: PaletteHandle);
  94.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  95.     INLINE $AA93;
  96.     {$ENDC}
  97. PROCEDURE ActivatePalette(srcWindow: WindowPtr);
  98.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  99.     INLINE $AA94;
  100.     {$ENDC}
  101. PROCEDURE SetPalette(dstWindow: WindowPtr; srcPalette: PaletteHandle; cUpdates: BOOLEAN);
  102.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  103.     INLINE $AA95;
  104.     {$ENDC}
  105. PROCEDURE NSetPalette(dstWindow: WindowPtr; srcPalette: PaletteHandle; nCUpdates: INTEGER);
  106.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  107.     INLINE $AA95;
  108.     {$ENDC}
  109. FUNCTION GetPalette(srcWindow: WindowPtr): PaletteHandle;
  110.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  111.     INLINE $AA96;
  112.     {$ENDC}
  113. PROCEDURE CopyPalette(srcPalette: PaletteHandle; dstPalette: PaletteHandle; srcEntry: INTEGER; dstEntry: INTEGER; dstLength: INTEGER);
  114.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  115.     INLINE $AAA1;
  116.     {$ENDC}
  117. PROCEDURE PmForeColor(dstEntry: INTEGER);
  118.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  119.     INLINE $AA97;
  120.     {$ENDC}
  121. PROCEDURE PmBackColor(dstEntry: INTEGER);
  122.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  123.     INLINE $AA98;
  124.     {$ENDC}
  125. PROCEDURE AnimateEntry(dstWindow: WindowPtr; dstEntry: INTEGER; {CONST}VAR srcRGB: RGBColor);
  126.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  127.     INLINE $AA99;
  128.     {$ENDC}
  129. PROCEDURE AnimatePalette(dstWindow: WindowPtr; srcCTab: CTabHandle; srcIndex: INTEGER; dstEntry: INTEGER; dstLength: INTEGER);
  130.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  131.     INLINE $AA9A;
  132.     {$ENDC}
  133. PROCEDURE GetEntryColor(srcPalette: PaletteHandle; srcEntry: INTEGER; VAR dstRGB: RGBColor);
  134.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  135.     INLINE $AA9B;
  136.     {$ENDC}
  137. PROCEDURE SetEntryColor(dstPalette: PaletteHandle; dstEntry: INTEGER; {CONST}VAR srcRGB: RGBColor);
  138.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  139.     INLINE $AA9C;
  140.     {$ENDC}
  141. PROCEDURE GetEntryUsage(srcPalette: PaletteHandle; srcEntry: INTEGER; VAR dstUsage: INTEGER; VAR dstTolerance: INTEGER);
  142.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  143.     INLINE $AA9D;
  144.     {$ENDC}
  145. PROCEDURE SetEntryUsage(dstPalette: PaletteHandle; dstEntry: INTEGER; srcUsage: INTEGER; srcTolerance: INTEGER);
  146.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  147.     INLINE $AA9E;
  148.     {$ENDC}
  149. PROCEDURE CTab2Palette(srcCTab: CTabHandle; dstPalette: PaletteHandle; srcUsage: INTEGER; srcTolerance: INTEGER);
  150.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  151.     INLINE $AA9F;
  152.     {$ENDC}
  153. PROCEDURE Palette2CTab(srcPalette: PaletteHandle; dstCTab: CTabHandle);
  154.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  155.     INLINE $AAA0;
  156.     {$ENDC}
  157. FUNCTION Entry2Index(entry: INTEGER): LONGINT;
  158.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  159.     INLINE $7000, $AAA2;
  160.     {$ENDC}
  161. PROCEDURE RestoreDeviceClut(gd: GDHandle);
  162.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  163.     INLINE $7002, $AAA2;
  164.     {$ENDC}
  165. PROCEDURE ResizePalette(p: PaletteHandle; size: INTEGER);
  166.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  167.     INLINE $7003, $AAA2;
  168.     {$ENDC}
  169. PROCEDURE SaveFore(VAR c: ColorSpec);
  170.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  171.     INLINE $303C, $040D, $AAA2;
  172.     {$ENDC}
  173. PROCEDURE SaveBack(VAR c: ColorSpec);
  174.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  175.     INLINE $303C, $040E, $AAA2;
  176.     {$ENDC}
  177. PROCEDURE RestoreFore({CONST}VAR c: ColorSpec);
  178.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  179.     INLINE $303C, $040F, $AAA2;
  180.     {$ENDC}
  181. PROCEDURE RestoreBack({CONST}VAR c: ColorSpec);
  182.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  183.     INLINE $303C, $0410, $AAA2;
  184.     {$ENDC}
  185. FUNCTION SetDepth(gd: GDHandle; depth: INTEGER; whichFlags: INTEGER; flags: INTEGER): OSErr;
  186.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  187.     INLINE $303C, $0A13, $AAA2;
  188.     {$ENDC}
  189. FUNCTION HasDepth(gd: GDHandle; depth: INTEGER; whichFlags: INTEGER; flags: INTEGER): INTEGER;
  190.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  191.     INLINE $303C, $0A14, $AAA2;
  192.     {$ENDC}
  193. FUNCTION PMgrVersion: INTEGER;
  194.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  195.     INLINE $7015, $AAA2;
  196.     {$ENDC}
  197. PROCEDURE SetPaletteUpdates(p: PaletteHandle; updates: INTEGER);
  198.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  199.     INLINE $303C, $0616, $AAA2;
  200.     {$ENDC}
  201. FUNCTION GetPaletteUpdates(p: PaletteHandle): INTEGER;
  202.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  203.     INLINE $303C, $0417, $AAA2;
  204.     {$ENDC}
  205. FUNCTION GetGray(device: GDHandle; {CONST}VAR backGround: RGBColor; VAR foreGround: RGBColor): BOOLEAN;
  206.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  207.     INLINE $303C, $0C19, $AAA2;
  208.     {$ENDC}
  209.  
  210.  
  211. {$ALIGN RESET}
  212. {$POP}
  213.  
  214. {$SETC UsingIncludes := PalettesIncludes}
  215.  
  216. {$ENDC} {__PALETTES__}
  217.  
  218. {$IFC NOT UsingIncludes}
  219.  END.
  220. {$ENDC}
  221.